This invention relates to a technique for measuring the rotational speed or velocity of a motor shaft, such as the drive shaft of a tape reel in a data tape cartridge system, and providing feedback for servo control of the motor.
Computers utilize a variety of magnetic media devices for the storage of software programs and data. Information recorded on the magnetic medium takes the form of flux transitions that represent the binary xe2x80x9c1""sxe2x80x9d and xe2x80x9c0""sxe2x80x9d that form the digital information. Tape cartridges, such as single-reel tape cartridges, are commonly used in library or other archival data storage applications. In such applications, a drive mechanism typically provides bi-directional tape motion during read/write and locate/rewind operations. The single-reel cartridge design uses a take-up reel located inside the drive. A coupler grabs a leader pin at the start of the tape and draws it out of the cartridge and around the tape head to the take-up reel in the drive. After the leader pin is secured in the take-up reel, the take-up reel rotates and pulls the tape through the tape path. A gear built into the cartridge reel and a gear coupled to the drive reel motor form a clutch enabling the motor to drive the rotation of the tape reel within the cartridge. A separate motor drives the take-up reel. By selective operations of the drive motors, the tape drive can selectively withdraw tape from the cartridge and wind tape back into the cartridge. A drive intended for a two-reel (reel-to-reel) cartridge includes two clutches for engaging the tape reels within the cartridge. Separate motors drive the clutches, to rotate the reels first in one direction and later in the opposite direction, to wind the tape back and forth between the two reels.
The environment of such digital cassette tape drives imposes a number of requirements on the tape transport. For example, in many cases, the linear velocity of the tape at the record/playback head must be constant. The drive may actually read data from the tape during transport past the head(s) during transport in both directions. Different speeds are necessary for read/write operations and scanning operations to rapidly find a desired location on the tape. A number of techniques have been developed to determine and control tape speed based on measurement of the rotational speed of one or more of the reels.
In general, tape drives include elements to detect the speed of the tape from the rotational speed of the take-up reel and control the tape transfer by a feedback control system. For example, the shaft speed of one of the reels is detected and used to calculate the tape speed. Logic circuitry or programming serves to compare the tape speed with a tape speed command or desired setting. If the tape speed too low, the circuitry increases the drive current to a take-up reel motor to increase the torque of the take-up reel and accelerate the take-up reel and the tape. If the detected tape speed is too large, the current is adjusted to reduce the torque of the take-up reel motor to decelerate the motor and the tape.
For example, U.S. Pat. No. 4,125,881 to Eige et al. describes a reel-to-reel magnetic tape drive, which moves tape from one reel to another past a read/write head. A fine-line tachometer, mounted on one reel shaft, provides a fine-line reading in the form of a number of pulses per revolution. A second tachometer on the second reel shaft provides a single pulse per revolution of the second reel. The single pulse is used to gate the counting of fine-line tachometer pulses for each revolution of the second reel. Motor acceleration currents of a magnitude corresponding to the reel radii are generated to drive the reel motors. A servo algorithm uses the gated per-revolution fine-line tachometer count to determine the reel radii based upon the actual length and thickness of the magnetic tape, for common control of servo drivers for both the source and take-up reel motors.
U.S. Pat. No. 4,739,950 to Goker et al. discloses a system that moves magnetic tape past the read/write head at a constant velocity by separately servo controlling the source reel motor and the take-up reel motor. Separate fine encoders associated with each reel provide multiple pulses for each revolution of the respective reel. Two radius calculation circuits each receive pulses from a respective one of the encoders and each calculate therefrom the radius values of tape on both of the reels. A radius information selector then selects, for use in controlling the motors, that set of radius values that is calculated by the calculation circuit which is receiving encoder pulses at the greater sampling rate. Separate servo circuits drive the two motors at respective angular velocities determined by utilizing the selected set of radius values. In each drive circuit, the associated tape radius is multiplied by the actual reel angular velocity, as indicated by the time duration between consecutive pulses from the encoder associated with that reel. Each servo maintains this product equal to a preselected tape linear velocity value, thereby causing the separate motors to rotate the reels so as to establish the desired constant linear tape velocity.
U.S. Pat. No. 5,576,905 to Garcia et al. discloses a bi-directional, reel-to-reel tape transport in which magnetic tape can be moved in either of two opposing directions for data recording thereon. Control of tape position is implemented in a servo algorithm that uses tachometer inputs to determine parameter values for generating reel motor drive currents. A fine-line tachometer is mounted on each of two reels in the tape drive and multiplexing selects the fine-line output from the tachometer on the reel supplying tape for use in the servo algorithm.
U.S. Pat. No. 5,642,461 to Lewis discloses a wide range speed control system for a brushless DC motor, which uses a magneto resistive encoder. The encoder is coupled to a series of filters, which remove DC level and harmonic distortions from the resulting encoder signal. These filtered signals are then applied to the motor to control motor rotation speed. The speed control algorithm may be implemented in a microcontroller.
All of these tape speed control techniques rely on an accurate tachometer measurement to determine the motor or reel shaft speed. In most cases, the tachometer measurement utilizes an optical encoder associated with the shaft. The optical encoder generates a certain number of tachometer pulses during each revolution of the motor shaft. For example, a typical fine tachometer may generate a thousand pulses per revolution. In most modern servo systems, the speed measurement entails counting the optical tachometer pulses during a predetermined measurement period defined by the sampling rate of the motor control servo loop. The sample rate is defined based on the servo bandwidth and the computation power of the control processor.
Typically, the sample rate is constant, and the number of pulses counted changes with the speed of the motor. The higher sampling rate enables the servo system to make corrective changes more often but results in fewer pulses per sample, thereby reducing accuracy. As desired speeds increase, the number of tachometer pulses counted in an interval of the sampling clock also increases. If the sample time is long enough and the motor rate is high enough, there will be large count values, which produce satisfactory measurement accuracy. However, as the sample time period increases, the achievable servo bandwidth decreases, causing performance problems.
In many cases, a tape drive must operate at variable speeds, over a broad range. If the sample interval is set for accurate control at the high end of the range, the minimum speed may be so slow that there may not be enough counts to provide adequate servo measurement resolution. In some cases, there may be no tachometer pulses at all during some sample intervals.
It is possible to operate with different sample intervals, for different ranges of motor speeds. However, this radically complicates the control algorithm. The algorithm is a function of the bandwidth, the motor dynamics and the sample time. Changing the sample time on the fly, as the motor transitions between different speeds, requires changing the coefficients on the fly. Rather than recalculate coefficients, many tape drive servo systems operate in an open-loop configuration during transitions, for example during a ramp-up in speed.
If the specification for the servo control operation requires regulation to xc2x10.5%, then the measurement accuracy must be less than xc2x10.05%, that is to say better by a factor of 10. If the motor rotational speed is 1800 RPM and the servo sample time is 1 ms (1000 hz sampling rate), the optical encoder would need to produce 60,000 tachometer pulses per revolution. Such a fine tachometer is simply not economically feasible for high-volume, low-cost tape drives.
From the above-discussion of existing servo control systems, particularly those for tape drives, it becomes apparent that a need still exists for a servo control technique providing a high degree of accuracy over a wide range of motor speeds while still using a constant sampling rate or interval. Any such system should provide adequate accuracy and bandwidth with readily available tachometer equipment, such as an optical encoder that may produce approximately 1000 pulses per revolution.
The present invention addresses the above-stated needs by utilizing unique velocity computation algorithms, based on a combination of fine and coarse velocity measurements from an optical encoder or similar tachometer device. The preferred embodiments utilize control signals derived from the velocity measurements to control motor speed, for example, to provide servo control of a digital tape drive.
Hence, one aspect of the invention relates to a servo system for controlling a motor. The servo system includes a tachometer coupled to a shaft rotated by the motor. The tachometer generates a predetermined number of pulses in response to each rotation of the shaft. The servo system also includes means operating at a specific, constant sampling rate for taking fine and coarse measurements of shaft speed in response to a plurality of the pulses and for controlling the motor based on the measurements.
In the preferred embodiments, the tachometer takes the form of an optical encoder coupled to a shaft associated with the drive motor for a tape drive reel. A typical fine tachometer of this type may generate a thousand pulses per revolution of the shaft. In the preferred embodiments, the means for sampling and controlling implement the unique algorithm. Specifically, the algorithm entails a coarse measurement based on the sampling rate and the tachometer pulses. The coarse measurement may actually take two different forms for different speed ranges. In one range, this measurement involves counting the number of pulses in a sampling interval. In the other range, the coarse measurement entails counting the number of sampling intervals spanning detection of tachometer pulses. The algorithm also utilizes a fine measurement, based on detection of differences in time delays between certain ones of the tachometer pulses and edges of one or more of the sampling intervals. The fine measurements of the delays may entail counting pulses of a clock signal, which has a rate substantially higher than the sampling rate, for periods between certain tachometer pulses and the edges of one or more of the sample intervals. The fine measurements provide a correction in the speed calculation for variations in phase relationship between the sampling and the tachometer pulses.
Hence, another aspect of the invention relates to a rotational velocity measurement system. This system includes a tachometer and a clock circuit. In operation, the tachometer is coupled to a shaft rotated by a motor. The tachometer generates a predetermined number of pulses in response to each rotation of the shaft. A processor calculates a value related to the rotational velocity. This processor is responsive to the tachometer pulses and the clock signal. In operation, the processor samples tachometer pulses during sampling intervals defining a constant sampling rate lower than the clock signal. The processor also counts cycles of the clock signal, to measure delays between certain ones of the pulses and next subsequent sample interval boundaries. The processor calculates the value related to the rotational velocity as a function of a count derived from the pulse sampling and a difference between two of the measured delays.
The processor may take the form of a collection of discrete logic circuits for performing the counting and calculation operations. Preferably, the velocity measurement algorithm is implemented in the processor of a microcontroller.
Another aspect of the invention relates to a preferred method for measurement of rotational velocity. The method involves generating a predetermined number of tachometer pulses during each revolution of a shaft driven by a motor. The tachometer pulses are sampled at a constant predetermined sampling rate. The method derives a value related to the rotational shaft velocity. However, a different procedure is used to arrive at the value, depending on the speed range, as indicated by the relationship of the pulse rate to the sample interval. If there are a plurality of tachometer pulses within each sample interval, the method involves measuring a delay between a last tachometer pulse detected before the start of one sample interval and the start of the one sample interval, counting the tachometer pulses during the one sample interval, and measuring a delay between the last tachometer pulse detected during the one sample interval and the end of the one sample interval. In this case, the methodology calculates a first value related to rotational shaft velocity, from the pulse count and the difference between the measured delays.
However, if there are not a plurality of tachometer pulses within each sample interval, the method uses a different series of substeps. In this later case, the substeps include measuring a delay between a first tachometer pulse and the start of a next subsequent sample interval, counting one or more sample intervals until after detection of a second tachometer pulse and measuring a delay between the second tachometer pulse and the start of a next subsequent sample interval. In this instance, the methodology calculates a second value related to rotational shaft velocity, from the interval count and the difference between the measured delays.
In the preferred embodiments, the tachometer generates pulses during revolution of a shaft used to drive a tape reel, for example in a digital tape drive. The shaft speed measurements may be used to calculate the speed of the tape past a tape head. The system applies a control signal to a motor, such as the drive motor for the tape reel, as a function of the measured speed and/or the calculated tape speed.
Additional objects, advantages and novel features of the invention will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.